< previous page page_236 next page >

Page 236
Q What are some important ways to determine whether you have well-defined classes?
A Some ways include
Determining whether the classes have evolved properly in your own opinion. Of course, with this approach, you can be biased in favor of your creation. Therefore, in cases when your opinion is the only one available, it's good to spend some time away from a subsystem or component and work on another. Some time later (perhaps a week later), revisit the subsystem. If you can still follow the behavior and logic of the classes in it, they're probably okay.
Conducting peer reviews. Having peers, especially expert object-oriented developers, review your class structures is very effective.
Conducting user reviews. If your users can identify your domain classes, including properties and methods, your classes are typically in good shape. For commercial application developers, for proprietary reasons, you probably can't show your users your actual core domain classes, so you have to rely on beta tests of both the application and the user guides to indirectly verify the goodness of your classes. However, with your use guides, you can describe your domain classes as key concepts and possibly query your users whether these key concepts are well-defined.
Having other project members and project teams use your classes. Reuse over time is the single best way of determining whether your classes are well designed.
Workshop
The workshop includes quiz questions to help gauge your grasp of the material. You'll find the answers to this quiz in Appendix A, Answers. Even if you feel that you understand the concepts presented here, you should work through the quiz. The last section is an exercise to help reinforce your learning.
Quiz
1. What are two ways you can structure an iteration plan?
2. What are the benefits of revisiting your use cases?
3. Why is it important to involve your users in the refining of your use cases?
4. Explain the financial implications of elaborating business processes while developing your applications.

 
< previous page page_236 next page >

If you like this book, buy it!